import { forwardRef, useMemo } from 'react';
import { IconProps } from './types';

export const IconPingIdentity16 = forwardRef<SVGSVGElement, IconProps>(
    ({ color = 'currentColor', title, ...props }, svgRef) => {
        const titleId = useMemo(
            () =>
                title
                    ? 'title-' + Math.random().toString(36).substr(2, 9)
                    : undefined,
            [title]
        );
        return (
            <svg
                xmlns="http://www.w3.org/2000/svg"
                width={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <g fill={color}>
                    <path d="M4.32 8.602c.323 0 .42-.04.527-.216.068-.113.096-.235.096-.432 0-.388-.199-.623-.532-.623h-.504v1.271h.413zM5.176 11.798c-.16 0-.252.127-.261.382h.518a.576.576 0 00-.053-.274.232.232 0 00-.204-.108zM4.23 12.683c.049-.036.07-.088.07-.088h-.002v-.653c-.058-.087-.142-.127-.276-.127a.235.235 0 00-.211.127c-.053.094-.072.182-.072.355 0 .144.01.25.046.321.052.104.122.144.227.144a.304.304 0 00.219-.079zM9.835 12.652v.06h.032c.019 0 .038-.005.038-.031 0-.024-.02-.029-.038-.029h-.032z" />
                    <path
                        fillRule="evenodd"
                        d="M9.737 12.726c0 .084.055.144.127.144.07 0 .127-.06.127-.143 0-.085-.055-.145-.127-.145-.07 0-.127.06-.127.144zm.132-.103c.048 0 .072.017.072.06 0 .034-.02.05-.05.053l.05.089h-.036l-.05-.086h-.022v.088h-.036v-.204h.072z"
                        clipRule="evenodd"
                    />
                    <path d="M11.412 8.283c-.288 0-.454.168-.454.456 0 .314.18.439.447.437.302 0 .465-.154.465-.437 0-.288-.168-.456-.458-.456z" />
                    <path
                        fillRule="evenodd"
                        d="M1.75 1.75h12.5v12.5H1.75V1.75zm2.4 4.902c.669 0 .873.072 1.093.204.367.215.567.6.564 1.08 0 .551-.25.995-.679 1.21-.18.092-.35.14-.787.14h-.434v1.536h-.794v-4.17h1.036zm-.855 4.563h-.182v1.691h.182v-1.691zm1.55.602a.415.415 0 01.34-.17c.125 0 .231.048.305.132.099.108.125.225.13.518v.026h-.708v.03a.53.53 0 00.053.268.31.31 0 00.283.151c.11 0 .2-.036.278-.115l.07.122a.547.547 0 01-.384.154c-.314 0-.504-.245-.504-.653 0-.206.041-.34.137-.463zm1.857.159a.307.307 0 00-.305-.326c-.12 0-.24.062-.357.189 0-.101-.041-.192-.041-.192l-.173.053s.043.084.043.259v.947h.173v-.914c.082-.093.223-.173.315-.173.052 0 .1.022.124.053.031.041.041.075.041.204v.83h.18v-.93zm-.185-5.57c-.259 0-.475.222-.475.498 0 .275.211.499.463.499.26 0 .47-.224.47-.5 0-.273-.203-.496-.458-.496zm.37 1.27l-.758.127v3.016h.758V7.676zm.6 4.004H7.19v-.465H7.01v.465H6.86v.147h.15v.842c0 .125.03.204.11.245a.317.317 0 00.148.033c.08 0 .101-.01.159-.04l-.024-.123-.027.014a.137.137 0 01-.043.003c-.113 0-.146-.046-.146-.183v-.791h.244l.056-.147zm-3.184-.465h.177v1.293c0 .211.007.324.034.396h-.182s-.022-.06-.024-.125a.343.343 0 01-.3.144c-.295 0-.463-.23-.463-.621 0-.262.079-.454.235-.569a.333.333 0 01.218-.077c.127 0 .24.058.307.156l-.002-.19v-.407zm5.096 1.735l.388-1.272h-.206l-.223.806-.07.26h-.004s-.034-.19-.068-.305l-.232-.797-.176.065.248.768a5.525 5.525 0 01.141.58c-.05.135-.108.187-.218.226l.053.13c.199-.051.29-.214.367-.461zm.295-.223c0-.099.077-.18.17-.18.094 0 .168.079.17.18 0 .098-.076.18-.17.18-.093 0-.17-.082-.17-.18zm1.598-2.695l.408.005c.441.005.674.077.883.276.17.168.249.379.249.655a.901.901 0 01-.233.636c-.254.288-.69.396-1.144.396-.413 0-.838-.072-1.099-.332a.739.739 0 01-.238-.544.64.64 0 01.068-.312h.703a.442.442 0 00-.034.197c0 .247.194.379.545.379.192 0 .355-.022.475-.101a.376.376 0 00.187-.312c0-.276-.233-.362-.533-.367l-.324-.007c-.34-.008-.561-.036-.698-.096-.136-.053-.22-.19-.22-.4 0-.198.055-.385.532-.517-.42-.115-.624-.396-.624-.851 0-.631.483-1.04 1.224-1.04.163 0 .312.025.52.077.159.044.262.068.358.068a.885.885 0 00.6-.264l.316.51a.71.71 0 01-.532.229c-.059 0-.12-.008-.166-.013l-.033-.004c.113.144.17.3.17.504 0 .528-.456.911-1.072.911-.034 0-.056 0-.113-.007-.192.096-.3.168-.3.252 0 .04.046.072.125.072zM8.264 8.65c.177-.168.374-.276.528-.276.199 0 .254.103.254.447v1.998h.749V8.576c0-.192-.017-.324-.058-.437-.091-.264-.374-.444-.698-.444-.17 0-.367.048-.52.132-.123.07-.217.14-.326.222l-.008.006a.831.831 0 00-.108-.384l-.674.204c.067.204.1.456.1.72v2.226h.76v-2.17zm.139 3.966v-.792h.235l.055-.146h-.285v-.465h-.183v.465h-.148v.146h.148v.842c0 .125.032.204.11.245a.317.317 0 00.15.034c.079 0 .1-.01.158-.041l-.024-.122a.315.315 0 00-.017.009c-.013.008-.013.008-.053.008-.112 0-.146-.046-.146-.183zm-.54-.964l-.184.03v1.224h.184v-1.254z"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
